#ifndef TRACK_H
#define TRACK_H

#include <QString>
#include <QList>
#include "constants.h"
#include "trackpoint.h"

// Класс для хранения трека.

class Track
{
private:
    unsigned long id;
    QString name;
    QList <TrackPoint> pointList;
public:
    Track(const unsigned long& = 0);
    ~Track();
    void ClearTrack(void);
    bool SetName(const QString&);
    QString GetName(void) const;
    void SetID(const unsigned long&);
    unsigned long GetID(void) const;
    void AddPoint(const TrackPoint&);
    void AddPoint(const QDateTime&, const GeoCoordinates&);
    void AddPoint(const QDateTime&, const double&, const double&);
    int GetPointCount(void) const;
    QList <TrackPoint> GetPointList(void) const;
    bool GetPoint(TrackPoint*, const int& = 0) const;
};

#endif // TRACK_H
